简述递归
本文作者:陈 鼎,中南财经政法大学统计与数学学院
本文编辑:赵一帆
技术总编:陈 鼎
Stata&Python云端课程来啦!
为了感谢大家长久以来的支持和信任,爬虫俱乐部为大家送福利啦!!!Stata&Python特惠课程双双上线腾讯课堂~原价2400元的Python编程培训课程,现在仅需100元,详情请查看推文《Python云端课程福利大放送!0基础也能学~》。关于Stata,爬虫俱乐部推出了系列课程,内容包括字符串函数、正则表达式、爬虫专题和文本分析,可以随心搭配,价格美丽,物超所值,更多信息可查看Stata系列推文《与春天有个约会,爬虫俱乐部重磅推出正则表达式网络课程!》、《与春天有个约会,爬虫俱乐部重磅推出基本字符串函数网络课程》等。变的是价格,不变的是课程质量和答疑服务。对报名有任何疑问欢迎在公众号后台和腾讯课堂留言哦
递归是解决问题的一种方法。它将问题不断地分为更小的问题,直到子问题可以用最普通的方法解决。一般来说,递归会使用一个不停调用自己的函数。递归算法可以帮我们写出非常优雅的解决方案,有些问题如果不用递归,将变得非常困难。
def listsum(numlist):
sum = 0
for i in numlist:
sum += i
return sum
def listsum(numlist):
if len(numlist) == 1 :
return numlist[0]
else:
return numlist[0] + listsum(numlist[1:])
假设主干长度为L,那么应该按如下步骤操作。
操作步骤
1.向前画一条直线,长度为L;
2.向右转20°,向前画一条直线,长度为L-15;
3.向左转40°,向前画一条直线,长度为L-15;
4.向右转20°回到主干方向;
5.向后退L,回到起始位置。
def draw(len, pen):
if len < 35:
return
import turtle
def draw(len, pen):
if len < 35:
return
pen.forward(len) # 画主干,就是往前画出长度为len的一条直线
pen.right(20) # 向右转20度角,准备画右边分支
draw(len - 15, pen) # 分支总是比主干短15
pen.left(40) # 向左转20度(回主干方向),再左转20,准备画左边分支
draw(len - 15, pen) # 分支总是比主干短15
pen.right(20) # 回归主干方向
if len <= 40 :
pen.color('green')
else:
pen.color('brown')
pen.backward(len) # 退回当前主干起始位置
def main():
pen = turtle.Turtle()
pen.shapesize(2, 3, 1)
win = pen.getscreen()
win.setup(width=500, height=500)
pen.speed(1) # 演示画笔的移动速度
pen.left(90) # 左转90度(原来是朝右,现在变朝上)
pen.up() # 笔尖抬起来(此时画画无痕)
pen.backward(100) # 向后退100
pen.down() # 笔尖落下(准备画了)
pen.color('brown') # 设备笔芯颜色
pen.width(2) # 笔粗
len_start = 95 # 最在树的主干长度
draw(len_start, pen)
win.exitonclick()
main()
对我们的推文累计打赏超过1000元,我们即可给您开具发票,发票类别为“咨询费”。用心做事,不负您的支持!
800万年薪!还有谁?!
千古伤心词人,词伤几何?
去哪儿网攻略爬取——跟我一起去大理吧
"有你才有团"——Stata爬取王者荣耀英雄海报
如何获取衡量股民情绪的指标?|东方财富股吧标题爬虫
利用Python构建马科维茨有效边界
rangestat,让统计量灵活滚动起来!
听说这样做立项成功率更高哦
如何处理缺失值?这一篇搞定!
善用dataex命令,高效沟通你我他
大数据下的大学分数线排行榜,快来围观!
《觉醒年代》—带你回到百年前
用Stata画的三维图很奇怪怎么办?
如何随机生成满足特定数据特征的新变量?
爬取无法翻页网页——自然科学基金项目及可视化
爬取京东评论数据进行情感分类
Stata与音乐之间的酷炫连接
这些年,爬虫俱乐部走出的博士们!看这里,近五年各校高被引论文上榜名单!
高校经管类核心期刊发文排行榜
疯狂的科研创新加速器——Stata!
可盐可甜,“粽”有所爱,快来pick你最爱的粽子吧!
好玩有趣的手绘图形库——cutecharts
爬虫实战|摩尔庄园微博话题讨论
一季度财报出炉,哪些公司最烧钱?
一季度财报出炉,哪些公司最赚钱?
技能篇 | 图片合并大法
批量空气质量数据文件合并分析
关于我们
微信公众号“Stata and Python数据分析”分享实用的Stata、Python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。
此外,欢迎大家踊跃投稿,介绍一些关于Stata和Python的数据处理和分析技巧。
投稿邮箱:statatraining@163.com投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。